#include <stack>

using namespace std;

class CQueue {
private:
    stack<int> stack1;
    stack<int> stack2;
public:
    CQueue() {}

    void appendTail(int value) {
        stack1.push(value);
    }

    int deleteHead() {
        if (!stack2.empty()) {
            int ans = stack2.top();
            stack2.pop();
            return ans;
        } else if (stack1.empty()) {
            return -1;
        } else {
            while (!stack1.empty()) {
                stack2.push(stack1.top());
                stack1.pop();
            }
            int ans = stack2.top();
            stack2.pop();
            return ans;
        }
    }
};

